<?php
 class Exoattente{
 
 	function Ajouter(){
			$a =& load("sessions");
			$a->restreint(100);

			$view = "exoattente/ajouter";
			$f=& load("forms");
			$f->setSpecifications($view);

			modele("default");
			$ret = recupTousGroupesExos();

			afficher($view,array("controleur"=>"","groupesexos"=>$ret));

	}
	
	function _Ajouter(){
		$a =& load("sessions");
		$a->restreint(100);

		$view = "exoattente/ajouter";

		$f=& load("forms");
		$f->setSpecifications($view);

		//---------

		if ($f->testerRegles($_POST) == false){ // Erreurs : on réaffiche et on demande de corriger
			$f->setData($_POST);

			modele("default");
			$ret = recupTousGroupesExos();


			afficher($view,array("controleur"=>"exoattente/","groupesexos"=>$ret));


		}else{ // C'est bon ! On insère dans la base et on confirme

			modele("default");
			$idex=ajouterExoattente($_POST);
			ecrireFichier("exoattente",$idex,$_POST["enonce"]);
			// Envoi d'un mail aux administrateurs
			// --------------------------------------------
							
			GLOBAL$PATHBASE, $MAILDISPO;
			if ($MAILDISPO == true){ // Le mail est dispo
				$admins=recupAdministrateurs();
				$this->mailAdministrateur($admins);
				
			}
			afficher("conf", array("titre" => "Nouvel exercice", "notice" => "L'exercice a bien été proposé, un administrateur le contrôlera avant validation.","controleur"=>"exoattente/"));
			//genererpngexo($_POST["titre"],$idex);
			//system("pdflatex -output-directory ".$PATHBASE."staticdata/pdf  ".$LATEXBASE."exercice/"$idex);
			//system("rm ".$PATHBASE."staticdata/pdf/".$idex.".log");
			//system("rm ".$PATHBASE."staticdata/pdf/".$idex.".aux");

		}
	}
	
	function Index(){
			$a =& load("sessions");
			$a->restreint(100);

		afficher("exoattente/index");
	}

	function mailAdministrateur($admins){
		include($PATHBASE."classes/class.phpmailer.php");
		date_default_timezone_set('Europe/Paris');

		foreach($admins as $r => $v){
			$mail             = new PHPMailer();
				
			$mail->IsSMTP();
			$mail->SMTPAuth   = true;                  // enable SMTP authentication
			$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
			$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
			$mail->Port       = 465;                   // set the SMTP port
					
			$mail->Username   = "exosmaths@gmail.com";  // GMAIL username
			$mail->Password   = "ab47s8z56s41";            // GMAIL password
					
			$mail->From       = "exosmaths@gmail.com";
			$mail->FromName   = "Administrateur";
	
			$mail->WordWrap   = 65; // set word wrap
	
			$mail->AddReplyTo("exosmaths@gmail.com","Administrateur");
					
			$mail->IsHTML(true); // send as HTML
	
			$mail->Subject = "[ExosMaths] Un exercice a été soumis !";
	
		
	
			$mail -> AddAddress($v["mail"], $v["nomprenom"]);
	
			$body = "Bonjour,\n\nUn nouvel exercice a été soumis et attend l'approbation d'un administrateur.\n\nBonne journée !\n\nL'automate ExosMaths";
	
			$mail->MsgHTML($body);
	
			$mail -> Body =$body;
	
			$mail -> Send();
		}
	}
	
	function Supprimer($id) {
			$a =& load("sessions");
			$a->restreint(1000);

			modele("default");
			$exa=recupExoattente($id);
			afficher("confsuppression",array("titre"=>"Suppression d'un exercice","id"=>$id,"controleur"=>"exoattente/","methode"=>"supprimer/","nom"=>$exa["titre"]));
	}
	
	function _Supprimer($id){
		
			$a =& load("sessions");
			$a->restreint(1000);
	
	GLOBAL $URLBASE;
	modele("default");
		supprimerExoattente($id);
		supprimerFichier("exoattente",$id);
		//supprimerpng("exoattente",$id);
		header("Location: ".$URLBASE."/exoattente");
		}
	
	/*function Modifier($id) {
		$view = "exoattente/ajouter";
		modele("default");
		$f=& load("forms");
		$f->setSpecifications($view);
		$f->setData(recupExoattente($id));
		//---------
		afficher($view,array("retour"=>"exoattente/modifier/".$id,"controleur"=>"exoattente/"));
	}
	
	function _Modifier($id){
		$view = "exoattente/ajouter";

		$f=& load("forms");
		$f->setSpecifications($view);

		//---------

		if ($f->testerRegles($_POST) == false){ // Erreurs : on réaffiche et on demande de corriger
			$f->setData($_POST);
			afficher($view,array("retour"=>"exoattente/modifier/".$id,"controleur"=>"exoattente/"));
		}else{ // C'est bon ! On insère dans la base et on confirme
			modele("default");
			modifExoattente($_POST,$id);
			afficher("conf", array("titre" => "Exercice modifié", "notice" => "L'exercice a bien été modifiée","controleur"=>"exoattente/"));
	}
	}*/	
	function Consulter($id){
		
			$a =& load("sessions");
			$a->restreint(1000);

		modele("default");
		$dat=recupExoattente($id);
		$dat["code_latex"] = lireFichier("exercice",$id);
		afficher("exoattente/consulter",array("titre"=>$dat["titre"],"motsclef"=>$dat["motsclef"],"difficulte"=>$dat["difficulte"],"commentaire"=>$dat["commentaire"],"controleur"=>"exoattente/","code_latex"=>$dat["code_latex"]));
	}
	
	function Valider($id){
	
		$a =& load("sessions");
		$a->restreint(1000);

		$view ="exoattente/valider";
		$f=&load("forms");
		$f->setSpecifications($view);


		GLOBAL $URLBASE;
		
		$a=& load("arbrecategories");



		modele("default");
		$dat=recupExoattente($id);
		$dat["enonce"]=lireFichier("exoattente",$id);
		$f->setData($dat);

		$ret = recupTousGroupesExos();


		afficher($view,array("controleur"=>"exoattente","retour"=>"exoattente/valider/".$id, "groupesexos"=>$ret));
	}
	
	function _Valider($id){
		
		$a =& load("sessions");
		$a->restreint(1000);

		$view="exoattente/valider";
		$f=&load("forms");
		$f->setSpecifications($view);
		
		if ($f->testerRegles($_POST) == false){ // Erreurs : on réaffiche et on demande de corriger

			$f->setData($_POST);

			modele("default");
			$ret = recupTousGroupesExos();

			afficher($view,array("retour"=>"exoattente/valider/".$id,"controleur"=>"exoattente", "groupesexos"=>$ret));

		}else{ // C'est bon ! On insère dans la base et on confirme
			modele("default");
			$idex=validerExercice($_POST,$id);
			ecrireFichier("exercice",$idex,$_POST["enonce"]);
			supprimerFichier("exoattente",$id);
			//genererpngexo($_POST["titre"],$idex);
			//supprimerpng("exoattente",$id);
			afficher("conf", array("titre" => "Exercice validé", "notice" => "L'exercice a bien été validé","controleur"=>"exercice"));
	}
	}

 
 }
?>